import pandas as pd
with open('data/song_rank.csv') as f:
p = pd.read_csv(f)
p
p.Song
0 青空未來 (Future)
1 勇氣 (Courage)
2 沒什麼大不了
3 我 (feat. 馬佳)
4 人間遊戲
5 愛情限時批 (Express love letter)
6 故作完美 (Imperfection)
7 我們 (《奇蹟》前導片插曲) (Us)
8 愛在蔓延時 (When Love Being Spread)
9 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
10 紅空過去 (past)
11 放空現在
12 力量 (strength)
13 很重要
Name: Song, dtype: object
必須以 p.Song 取出一條Series格式
type(p.Song)
pandas.core.series.Series
如果用
p.Song**[0]** 取出一個string格式.replace()會報錯
p.Song.replace('r','',regex=True)
0 青空未來 (Futue)
1 勇氣 (Couage)
2 沒什麼大不了
3 我 (feat. 馬佳)
4 人間遊戲
5 愛情限時批 (Expess love lette)
6 故作完美 (Impefection)
7 我們 (《奇蹟》前導片插曲) (Us)
8 愛在蔓延時 (When Love Being Spead)
9 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
10 紅空過去 (past)
11 放空現在
12 力量 (stength)
13 很重要
Name: Song, dtype: object
p.Song.replace('re','',regex=True)
0 青空未來 (Futu)
1 勇氣 (Courage)
2 沒什麼大不了
3 我 (feat. 馬佳)
4 人間遊戲
5 愛情限時批 (Expss love letter)
6 故作完美 (Imperfection)
7 我們 (《奇蹟》前導片插曲) (Us)
8 愛在蔓延時 (When Love Being Spad)
9 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
10 紅空過去 (past)
11 放空現在
12 力量 (stngth)
13 很重要
Name: Song, dtype: object
p.Song.replace('[re]','',regex=True)
0 青空未來 (Futu)
1 勇氣 (Couag)
2 沒什麼大不了
3 我 (fat. 馬佳)
4 人間遊戲
5 愛情限時批 (Expss lov ltt)
6 故作完美 (Impfction)
7 我們 (《奇蹟》前導片插曲) (Us)
8 愛在蔓延時 (Whn Lov Bing Spad)
9 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
10 紅空過去 (past)
11 放空現在
12 力量 (stngth)
13 很重要
Name: Song, dtype: object
p.Song.replace('[a-zA-Z().《》]','',regex=True)
0 青空未來 (F)
1 勇氣 (C)
2 沒什麼大不了
3 我 (. 馬佳)
4 人間遊戲
5 愛情限時批 (E )
6 故作完美 (I)
7 我們 (《奇蹟》前導片插曲) (U)
8 愛在蔓延時 (W L B S)
9 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
10 紅空過去 ()
11 放空現在
12 力量 ()
13 很重要
Name: Song, dtype: object
符號 | 意思 |
---|---|
中括號[ ] | 只要出現[ ]裡的字都要 |
. | 字 |
...$ | ...的格式 |
* | 一個以上的字 |
\ | 跳脫字元,例如:\ \( 代表 ( |
p.Song.replace('\\(.*$','',regex=True)
0 青空未來
1 勇氣
2 沒什麼大不了
3 我
4 人間遊戲
5 愛情限時批
6 故作完美
7 我們
8 愛在蔓延時
9 煙火星辰
10 紅空過去
11 放空現在
12 力量
13 很重要
Name: Song, dtype: object
p.Song.replace('[ (].*$','',regex=True)
0 青空未來
1 勇氣
2 沒什麼大不了
3 我
4 人間遊戲
5 愛情限時批
6 故作完美
7 我們
8 愛在蔓延時
9 煙火星辰
10 紅空過去
11 放空現在
12 力量
13 很重要
Name: Song, dtype: object
S = pd.Series(['把 \t 換成 tab', '把 \n 換成 enter'])
S
S長這樣:
0 把 \t 換成 tab
1 把 \n 換成 enter
dtype: object
注意!S.replace 必須是Series格式,如果是String會錯
S.replace(r'\t','tab',regex=True)
執行:
0 把 tab 換成 tab
1 把 \n 換成 enter
dtype: object
S.replace(r'\t','tab',regex=True).replace(r'\n','enter', regex=True)
執行:
0 把 tab 換成 tab
1 把 enter 換成 enter
dtype: object
p
p.replace('\\(.*\\)', '', regex=True)
這個會把 ( . * ) 這四個都變成 純字符
p.replace(r'(.*)', '', regex=True)